iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 4
0
Modern Web

初探 Laravel 5 三兩事系列 第 4

Day 4 Laravel Middleware

  • 分享至 

  • xImage
  •  

Day 4 Laravel Middleware

Middleware 是個很實用的功能,小弟主要都用這個功能處理一些用戶特殊權限的處理,像是用戶對於此頁面的時間進去的權限或者是一些有關sub-domain的權限檢查。

  1. 首先使用artisan 建立一個 middleware
php artisan make:middleware myMiddleware
  1. 所有的請求都需要在 app/Http/Kernel.php 加入清單
protected $routeMiddleware = [
        ...
        
        'myMiddleware'=> \App\Http\Middleware\myMiddleware::class,
        
        ...
    ];
  1. 在route中 加入 middleware的設定 ,並且可以傳送一個參數admin進去
Route::group([ 'prefix' => 'admin' , 'middleware' => 'myMiddleware:admin'  ], function () {
    Route::post('/blog/create', "BlogController@create" )->name( 'Blog_create');
......
  1. 開啓 myMiddleware 就可以撰寫一些額外的功能了,也可以載入modle來做更多的檢查。
<?php

namespace App\Http\Middleware;

use Closure;

use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;


class myMiddleware
{

    private $modUser;

    
    function __construct(){
        $this->modUser = new \App\mod_userBase();
    }

    public function handle($request, Closure $next ,$role = "-1")
    {
        // 1. 檢查用戶資訊
        if (!(Auth::guard('admin')->check())  ) { 
          return redirect()->route("admin.auth.logout");
        }
        
        $AuthData =  Auth::guard('admin')->user() ;
        
        // 2. 檢查用戶是否啓用
        
        // 3. 檢查....
        
        return $next($request);
        
    }

    
    
}

結語

對於從codeigniter換到 laravel 有時會覺得Middleware 不太習慣,不過用久了反而覺得還蠻不錯用的。


上一篇
Day3 Laravel Router
下一篇
Day 5 Laravel Controller
系列文
初探 Laravel 5 三兩事8
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言